Zeitmuster (Cron)
Eine LDAP-Synchronisation kann nach einem bestimmten Zeitintervall automatisch gestartet werden. Hierfür kann in den Eigenschaften ein Trigger hinterlegt werden, der ein Zeitmuster (Cron) enthält, oder direkt ein Zeitmuster (Cron) definiert werden, nach dessen Ablauf die LDAP-Synchronisation laufend angestoßen (getriggert) wird.
Ein Zeitmuster wird mit einem Cron-Ausdruck definiert. Ein Cron-Ausdruck ist eine Zeichenkette (String), die aus 6 oder 7 Feldern besteht. Die Felder sind durch Leerzeichen getrennt.
Die 6 Muss-Felder und 1 optionales Feld (Jahr) teilen sich auf wie folgt:
"<1: Sekunden> <2: Minuten> <3: Stunden> <4: Tag des Monats> <5: Monat> <6: Tag der Woche> <(7: Jahr)>"
Feld-Nr. |
Feld-Name (Zeiteinheit) |
Erlaubte Werte |
Erlaubte Sonderzeichen |
---|---|---|---|
1 |
Sekunden |
0-59 |
, - * / |
2 |
Minuten |
0-59 |
, - * / |
3 |
Stunden |
0-23 |
, - * / |
4 |
Tag des Monats |
1-31 (letzter Monatstag unterschiedlich je Monat, z. B. Februar=28 bzw. 29, Dezember=31, Juni=30) |
, - * ? / L W C |
5 |
Monat |
1-12 oder JAN-DEC |
, - * / |
6 |
Tag der Woche |
1-7 oder SUN-SAT
|
, - * ? / L C # |
7 |
Jahr |
leeres Feld oder 1970-2099 |
, - * / |
Bedeutung der Sonderzeichen eines Cron-Ausdrucks:
Sonderzeichen |
verwendet im Feld |
Beschreibung |
---|---|---|
* |
alle Felder |
Alle Werte der entsprechenden Zeiteinheit, z. B. "*" bedeutet im Feld "Minute" jede Minute, also 0, 1, 2, 3, ...59 |
? |
"Tag des Monats" oder "Tag der Woche" |
Erlaubt in den Feldern "Tag des Monats" und "Tag der Woche". Es bedeutet "kein bestimmter Wert/beliebige Werte" und wird eingesetzt, wenn man in einem der beiden Felder einen konkreten Wert einsetzt, aber nicht in das andere Feld. (Dies ist der Regelfall, da man einen Task entweder an bestimmten Tagen im Monat, z. B. dem 15., der immer auf einen anderen Wochentag fällt, ausführt oder an bestimmten Wochentagen, z. B. freitags). Siehe Tabelle unter Beispiele des Cron-Ausdrucks. |
- |
alle Felder |
Wird verwendet, um einen Bereich (von-bis) zu definieren. Z. B. "10-12" bedeutet die Stunden 10, 11 und 12. |
, |
alle Felder |
Wird verwendet als Trennzeichen für die Aufzählung von mehreren Werten. Z. B. "Mon, Wed, Fri" im Feld "Tag-der-Woche" bedeutet "Montags, Mittwochs und Freitags". |
/ |
alle Felder |
Wird verwendet, um ein Inkrement (Vorwärts-Zähler) zu definieren . Das automatische Hochzählen startet mit dem ersten Wert und wird um den zweiten Wert automatisch addiert. Der Rahmen d. h. die Minimal- und Maximalwerte bieten die jeweiligen erlaubten Werte eines Feldes, z. B. 0 bis 60 Sekunden (siehe Tabelle oben). Zum Beispiel bedeuten im Feld "Sekunden" "0/15" die Zahlenfolge "0, 15, 30 und 45" und "5/15" bedeutet "5, 20, 35 und 50". Sie können auch ein "/" nach einem "*"-Zeichen verwenden, dies entspricht einem 0 vor dem "/"-Zeichen, z. B. */10 = "0, 10, 20, 30, 40, 50". |
L |
"Tag des Monats" oder "Tag der Woche" |
Wird in den Feldern "Tag-des-Monats" und "Tag-der-Woche" eingesetzt. "L" bedeutet "letzter". Im Feld "Tag-des-Monats" bedeutet "L" der letzte Tag des Monats, z. B. 31 im Januar, 28 oder 29 (Schaltjahr) für Februar. Im "Tag-der-Woche"-Feld bedeutet das "L" den Wert "7" bzw. "SAT". Wenn das "L" im "Tag-der-Woche"-Feld hinter einem anderen Wert steht, bedeutet dies "der letzte x-Wochentag des Monats", z. B. "6L" steht für "der letzte Freitag im Monat". Wenn die Option "L" verwendet wird, wird empfohlen, keine Listen oder Werte-Bereiche zu definieren, um konfuse Ergebnisse zu vermeiden. |
W |
"Tag des Monats" (bei Angabe eines einzigen Monatstags) |
Der nächstliegende Werktag innerhalb des jeweiligen Monats: Der Wert "W" kann nur für einen einzelnen Tag im Monat verwendet werden, nicht für einen Zeitraum oder eine Liste von Tagen. Wird verwendet im Feld "Tag-des-Monats" und spezifiziert einen Werktag (Mon-Fri) in dem bestimmten Monat, der am nächsten am angegebenen Monats-Tag dran ist. Z. B. der Wert "15W" bedeutet der nächste Wochentag zum 15. des Monats - wenn der 15. ein Samstag ist, wird der Freitag genommen - wenn er ein Sonntag ist, dann wird der Montag genommen. Wenn der 15. ein Werktag ist, z. B. Donnerstag, dann wird dieser Werktag verwendet. Wenn im Feld "Tag-des-Monats" der Wert "1W" definiert wird, und der 1. ist ein Samstag, dann wird Montag, der 3. verwendet, da nicht über die Monatsgrenze hinausgesprungen wird. Die Kombination "LW" bedeutet "Letzter Werktag im Monat". Beispiel: "3W" Wenn der 3. ein Samstag ist, dann startet die Aufgabe am Freitag den. 2, da der Montag 2 Tage Differenz wäre und der Freitag nur ein Tag Differenz. Wenn der 3. ein Sonntag ist, dann startet die Aufgabe am Montag, den. 4., da der Freitag 2 Tage Differenz wäre und der Montag nur 1 Tag Differenz. Beispiel: "1W", "31W" (Sonderfälle): "1W": Wenn der 1. ein Samstag ist, dann startet die Aufgabe am Montag, den 3., da zwar der Freitag der nächste Werktag ist, aber in einem anderen Monat liegt. So ist der Montag der nächstliegende Werktag innerhalb des Monats. |
# bzw. wochentag#n-ter des="" monats="" |
"Tag der Woche" |
Wird im Feld "Tag-der-Woche" eingesetzt. Es wird der n-te Wochentag im Monat spezifiziert. So bedeutet z. B. "2#1" bzw. "MON#1" der erste Montag im Monat und 6#3" der 3. Freitag im Monat. Wenn der definierte n-te Wochentag im Monat nicht existiert, z. B. 1#20 also der 20. Sonntag im Monat, dann wird der Job nicht getriggert. |
C |
"Tag-des-Monats" "Tag-der-Woche" |
Der erste im Kalender gültige Tag ab Datum des angegebenen Monats- bzw. Wochentags (z. B. wenn ein individueller Kalender Sonntage und Feiertage nicht berücksichtigt). - Wenn kein individueller Kalender assoziiert ist, dann wird von dem allgemeinen, vollständigen Kalender, ohne ausgeschlossene Tage, ausgegangen. Der angegebene Wert wird, falls vorhanden, mit dem individuellen Kalender abgeglichen, ansonsten mit dem allgemeinen, vollständigen Kalender. Beispielsweise bedeutet "5C" der erste im Kalender gültige Tag, am oder nach dem 5. Tag (des Monats/der Woche). Beispiel: "5C" im Monatstag-Feld: = Der 5. Tag des Monats, falls im Kalender gültig, oder der erste gültige Monatstag nach dem 5. des Monats. Beispiel: "1C" im Wochentag: = Sonntag, falls der Kalender Sonntage berücksichtigt, oder der erste im Kalender gültige Wochentag nach dem Sonntag, z. B. Montag. |
"<1: Sekunden> <2: Minuten> <3: Stunden> <4: Tag des Monats> <5: Monat> <6: Tag der Woche> <(7: Jahr)>"
cron-Ausdruck |
Task wird getriggert: |
---|---|
"0 0 12 * * ?" |
um 12:00 Uhr jeden Tag |
"0 15 10 ? * *" |
um 10:15 Uhr jeden Tag |
"0 15 10 * * ?" |
um 10:15 Uhr jeden Tag |
"0 15 10 * * ? *" |
um 10:15 Uhr jeden Tag |
"0 15 10 * * ? 2014" |
um 10:15 jeden Tag im Jahr 2014 |
0 0 * ? * ? |
jede Stunde |
"0 * 14 * * ?" |
ab 14 Uhr, jede Minute bis 14.59 Uhr jeden Tag |
"0 0/5 14 * * ?" |
ab 14 Uhr, alle 5 Minuten bis 14:55, jeden Tag |
"0 0/5 14,18 * * ?" |
alle 5 Minuten von 14 Uhr bis 14:55 und von 18 Uhr bis 18:55, jeden Tag |
"0 0-5 14 * * ?" |
jede Minute von 14 Uhr bis 14:05, jeden Tag |
"0 10,44 14 ? 3 WED" |
um 14:10 Uhr und um 14:44 Uhr, jeder Mittwoch im Monat März. |
"0 15 10 ? * MON-FRI" |
Um 10:15 Uhr immer von montags bis freitags (Montag, Dienstag, Mittwoch, Donnerstag, Freitag) |
0 15 20 ? * 2-6 |
Um 20:15 Uhr immer von montags bis freitags |
"0 15 10 15 * ?" |
Um 10:15 Uhr am 15. Tag jeden Monats |
"0 15 10 L * ?" |
Um 10:15 Uhr am letzten Tag des Monats |
0 0 20 ? * 6 |
jeden Freitag um 20 Uhr |
"0 15 10 ? * 6L" |
Um 10:15 Uhr am letzten Freitag jeden Monats |
0 30 22 ? * 6L 2014 |
Um 22:30 Uhr jeden letzten Freitag jeden Monats in 2014 |
"0 15 10 ? * 6L 2014-2020" |
Um 10:15 Uhr am letzten Freitag jeden Monats vom Jahr 2014 bis 2020 |
0 0 21 ? * 2,4,6 2014-2016 |
Um 21:00 Uhr, montags, mittwochs und freitags von 2014 bis 2016 |
"0 15 10 ? * 6#3" |
Um 10:15 am dritten Freitag jeden Monats |
0 0/20 14 ? * 2-6 |
immer: montags bis freitags um 14:00,14:20 und 14:40. |